//
// ftNode.h
//
#pragma once
#include <queue>

// name: ftNode
// type: data
// file tree node, for storage the file data which from findfile api
// Auto rev child node
class ftNode
{
public:
	ftNode(void);
	~ftNode(void);

	//point array for directory subnode
	CArray<ftNode*, ftNode*> m_arrSubNode;
	//point array for file subnode(leaf)
	CArray<ftNode*, ftNode*> m_arrLeaf;
	//point for parent node, if NULL(0) then this is the root node
	ftNode* m_pParent;

	//ftNode** m_pChild;
	//UINT m_nChild;
	//ftNode** m_pLeaf;
	//UINT m_nLeaf;

	//
	//how many level is the subnode
	int m_nSubLevel;

	//win32 finddata struct
//	WIN32_FIND_DATA m_fd;

	//
	DWORD m_dwFileAttributes;
	DWORD m_dwNodeSizeHigh;
	DWORD m_dwNodeSizeLow;
	// file name, if > MAX_PATH then set to short name(8.3)
	CString m_csName;
};
